switch: propagate the active state to the slider
authorCosimo Cecchi <cosimoc@gnome.org>
Mon, 28 Feb 2011 23:46:46 +0000 (18:46 -0500)
committerCosimo Cecchi <cosimoc@gnome.org>
Thu, 3 Mar 2011 22:48:25 +0000 (17:48 -0500)
gtk/gtkswitch.c

index d69534c1ed69175ed44bb3be1e3c4514538a076c..1a8e42762d6b68b2a4c03d97c90c33432cc926a6 100644 (file)
@@ -473,11 +473,15 @@ gtk_switch_paint_handle (GtkWidget    *widget,
                          cairo_t      *cr,
                          GdkRectangle *box)
 {
+  GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
   GtkStyleContext *context = gtk_widget_get_style_context (widget);
   GtkStateFlags state;
 
   state = gtk_widget_get_state_flags (widget);
 
+  if (priv->is_active)
+    state |= GTK_STATE_FLAG_ACTIVE;
+
   gtk_style_context_save (context);
   gtk_style_context_set_state (context, state);
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_SLIDER);